#Boa:Frame:verificacion

import wx
import utiles
import consultasBD
import os

def create(parent):
    return verificacion(parent)

[wxID_VERIFICACION, wxID_VERIFICACIONBUTTON1, wxID_VERIFICACIONBUTTON2, 
 wxID_VERIFICACIONBUTTON3, wxID_VERIFICACIONLISTBOX1, wxID_VERIFICACIONPANEL1, 
 wxID_VERIFICACIONSTATICTEXT1, wxID_VERIFICACIONSTATICTEXT2, 
 wxID_VERIFICACIONSTATICTEXT3, wxID_VERIFICACIONSTATICTEXT4, 
 wxID_VERIFICACIONSTATICTEXT5, wxID_VERIFICACIONSTATICTEXT6, 
 wxID_VERIFICACIONSTATICTEXT7, wxID_VERIFICACIONSTATICTEXT8, 
 wxID_VERIFICACIONSTATICTEXT9, wxID_VERIFICACIONTEXTCTRL1, 
 wxID_VERIFICACIONTEXTCTRL2, wxID_VERIFICACIONTEXTCTRL3, 
 wxID_VERIFICACIONTEXTCTRL4, wxID_VERIFICACIONTEXTCTRL5, 
 wxID_VERIFICACIONTEXTCTRL6, wxID_VERIFICACIONTEXTCTRL7, 
] = [wx.NewId() for _init_ctrls in range(22)]

class verificacion(wx.Frame):
    def _init_ctrls(self, prnt):
        # generated method, don't edit
        wx.Frame.__init__(self, id=wxID_VERIFICACION, name='verificacion',
              parent=prnt, pos=wx.Point(497, 152), size=wx.Size(491, 415),
              style=wx.DEFAULT_FRAME_STYLE,
              title='Verificacion de mail de clientes')
        self.SetClientSize(wx.Size(483, 388))

        self.panel1 = wx.Panel(id=wxID_VERIFICACIONPANEL1, name='panel1',
              parent=self, pos=wx.Point(0, 0), size=wx.Size(483, 388),
              style=wx.TAB_TRAVERSAL)

        self.listBox1 = wx.ListBox(choices=[], id=wxID_VERIFICACIONLISTBOX1,
              name='listBox1', parent=self.panel1, pos=wx.Point(8, 8),
              size=wx.Size(232, 376), style=0)
        self.listBox1.Bind(wx.EVT_LISTBOX_DCLICK, self.OnDobleClick,
              id=wxID_VERIFICACIONLISTBOX1)

        self.staticText1 = wx.StaticText(id=wxID_VERIFICACIONSTATICTEXT1,
              label='Apellido / Nombre', name='staticText1', parent=self.panel1,
              pos=wx.Point(256, 48), size=wx.Size(84, 13), style=0)

        self.textCtrl1 = wx.TextCtrl(id=wxID_VERIFICACIONTEXTCTRL1,
              name='textCtrl1', parent=self.panel1, pos=wx.Point(256, 64),
              size=wx.Size(224, 21), style=0, value='')
        self.textCtrl1.SetEditable(False)

        self.staticText2 = wx.StaticText(id=wxID_VERIFICACIONSTATICTEXT2,
              label='Direccion', name='staticText2', parent=self.panel1,
              pos=wx.Point(256, 128), size=wx.Size(43, 13), style=0)

        self.textCtrl2 = wx.TextCtrl(id=wxID_VERIFICACIONTEXTCTRL2,
              name='textCtrl2', parent=self.panel1, pos=wx.Point(256, 144),
              size=wx.Size(224, 21), style=0, value='')
        self.textCtrl2.SetEditable(False)

        self.staticText3 = wx.StaticText(id=wxID_VERIFICACIONSTATICTEXT3,
              label='Localidad / Provincia / CP', name='staticText3',
              parent=self.panel1, pos=wx.Point(256, 168), size=wx.Size(120, 13),
              style=0)

        self.textCtrl3 = wx.TextCtrl(id=wxID_VERIFICACIONTEXTCTRL3,
              name='textCtrl3', parent=self.panel1, pos=wx.Point(256, 184),
              size=wx.Size(224, 21), style=0, value='')
        self.textCtrl3.SetEditable(False)

        self.staticText4 = wx.StaticText(id=wxID_VERIFICACIONSTATICTEXT4,
              label='Telefono', name='staticText4', parent=self.panel1,
              pos=wx.Point(256, 208), size=wx.Size(42, 13), style=0)

        self.textCtrl4 = wx.TextCtrl(id=wxID_VERIFICACIONTEXTCTRL4,
              name='textCtrl4', parent=self.panel1, pos=wx.Point(256, 224),
              size=wx.Size(224, 21), style=0, value='')
        self.textCtrl4.SetEditable(False)

        self.staticText5 = wx.StaticText(id=wxID_VERIFICACIONSTATICTEXT5,
              label='e-mail', name='staticText5', parent=self.panel1,
              pos=wx.Point(256, 248), size=wx.Size(28, 13), style=0)

        self.textCtrl5 = wx.TextCtrl(id=wxID_VERIFICACIONTEXTCTRL5,
              name='textCtrl5', parent=self.panel1, pos=wx.Point(256, 264),
              size=wx.Size(224, 21), style=0, value='')

        self.button1 = wx.Button(id=wxID_VERIFICACIONBUTTON1, label='Guardar',
              name='button1', parent=self.panel1, pos=wx.Point(256, 296),
              size=wx.Size(88, 23), style=0)
        self.button1.Bind(wx.EVT_BUTTON, self.OnBotonGuardar,
              id=wxID_VERIFICACIONBUTTON1)

        self.button2 = wx.Button(id=wxID_VERIFICACIONBUTTON2, label='Salir',
              name='button2', parent=self.panel1, pos=wx.Point(392, 296),
              size=wx.Size(88, 23), style=0)
        self.button2.Bind(wx.EVT_BUTTON, self.OnBotonSalir,
              id=wxID_VERIFICACIONBUTTON2)

        self.staticText6 = wx.StaticText(id=wxID_VERIFICACIONSTATICTEXT6,
              label='Total e-mail rechazados', name='staticText6',
              parent=self.panel1, pos=wx.Point(256, 336), size=wx.Size(113, 13),
              style=0)

        self.staticText7 = wx.StaticText(id=wxID_VERIFICACIONSTATICTEXT7,
              label=' ', name='staticText7', parent=self.panel1,
              pos=wx.Point(256, 360), size=wx.Size(3, 13), style=0)

        self.staticText8 = wx.StaticText(id=wxID_VERIFICACIONSTATICTEXT8,
              label='Numero de cliente', name='staticText8', parent=self.panel1,
              pos=wx.Point(256, 8), size=wx.Size(86, 13), style=0)

        self.textCtrl6 = wx.TextCtrl(id=wxID_VERIFICACIONTEXTCTRL6,
              name='textCtrl6', parent=self.panel1, pos=wx.Point(256, 24),
              size=wx.Size(224, 21), style=0, value='')
        self.textCtrl6.SetEditable(False)

        self.staticText9 = wx.StaticText(id=wxID_VERIFICACIONSTATICTEXT9,
              label='Tipo documento: ', name='staticText9', parent=self.panel1,
              pos=wx.Point(256, 88), size=wx.Size(83, 13), style=0)

        self.textCtrl7 = wx.TextCtrl(id=wxID_VERIFICACIONTEXTCTRL7,
              name='textCtrl7', parent=self.panel1, pos=wx.Point(256, 104),
              size=wx.Size(224, 21), style=0, value='')
        self.textCtrl7.SetEditable(False)

        self.button3 = wx.Button(id=wxID_VERIFICACIONBUTTON3,
              label='Actualizar', name='button3', parent=self.panel1,
              pos=wx.Point(392, 352), size=wx.Size(88, 24), style=0)
        self.button3.Bind(wx.EVT_BUTTON, self.OnBotonActualizar,
              id=wxID_VERIFICACIONBUTTON3)

    def __init__(self, parent):
        self._init_ctrls(parent)
        self.actualizarLista()

    def actualizarLista(self):
        try:
            f=open("c:\erpsussan.doc\emailrechazados.txt","r")
        except:
            self.OnBotonActualizar(None)
            try:
                f=open("c:\erpsussan.doc\emailrechazados.txt","r")
            except:
                utiles.mensaje(None,"No puede abrirse el archivo")
                self.Close()
        email=f.readlines()
        f.close()
        for item in email:
            self.listBox1.Append(item[:-1])
        self.misItems = self.listBox1.GetItems()
        self.staticText7.SetLabel(str(len(self.misItems)))
        self.borrarCampos()
 
    def OnBotonSalir(self, event):
        self.Close()

    def buscarCliente(self,email):
        consultaSQL = "SELECT * FROM cliente WHERE email='"+email+"' "
        resultado = consultasBD.ordenCruda(consultaSQL)
        if resultado == '' or resultado==None:
            self.listBox1.SetFocus()
            utiles.mensaje(None,"Cliente no encontrado en esta sucursal")
            return False
        cliente = resultado[0]
        self.textCtrl6.SetLabel(cliente[0]) 
        self.textCtrl1.SetLabel(cliente[1])
        self.textCtrl2.SetLabel(cliente[2])
        self.textCtrl3.SetLabel(cliente[3]+" / "+cliente[4]+" / "+cliente[6])
        self.textCtrl4.SetLabel(cliente[5])
        self.textCtrl5.SetLabel(cliente[7])
        self.textCtrl7.SetLabel(cliente[12])
        self.staticText9.SetLabel("Tipo documento: "+cliente[11])
        self.textCtrl5.SetFocus()
        return True

    def borrarCampos(self):
        self.textCtrl6.SetLabel("") 
        self.textCtrl1.SetLabel("")
        self.textCtrl2.SetLabel("")
        self.textCtrl3.SetLabel("")
        self.textCtrl4.SetLabel("")
        self.textCtrl5.SetLabel("")
        self.textCtrl7.SetLabel("")
        self.staticText9.SetLabel("Tipo documento: ")
        self.listBox1.SetFocus()

    def OnDobleClick(self, event):
        indice = self.listBox1.GetSelection()
        email = self.misItems[indice]
        self.buscarCliente(email)
        
    def OnBotonGuardar(self, event):
        if self.textCtrl6.GetValue() == "":
            utiles.mensaje(None,"Debe seleccionar una direccion de e-mail")
            self.listBox1.SetFocus()
            return
        consultaSQL = "UPDATE cliente SET email='"+self.textCtrl5.GetLabel()+"' WHERE idcliente='"+self.textCtrl6.GetLabel()+"' "
        try:
            id = consultasBD.executa(None,consultaSQL)
        except:
            utiles.mensaje(None,"No se pudo guardar el cambio")
        self.listBox1.Delete(self.listBox1.GetSelection())
        self.listBox1.Refresh()
        self.listBox1.SetFocus()
        
        f=open("c:\erpsussan.doc\emailrechazados.txt","w")
        for item in self.listBox1.GetItems():
            f.write(item+"\n")
        f.close()

        self.misItems = self.listBox1.GetItems()
        self.staticText7.SetLabel(str(len(self.misItems)))
        
        self.borrarCampos()

    def OnBotonActualizar(self, event):
        directorio1 = "\\\VBOXSVR\\P\xfablico"
        directorio2 = "\\\Virtual1\\erpsussan.doc"
        dirorigen = directorio1
        dirdestino = "c:\\erpsussan.doc"

        print "Intentando conectar con directorio Linux"
        if not os.path.exists(dirorigen):
            print "Intentando conectar con servidor virtual windows"
            dirorigen = directorio2
        if not os.path.exists(dirorigen):
            utiles.mensaje(None,"Problemas para acceder al directorio")
            self.Close()
        
        try:
            print "Copiando archivo de email rechazados"
            os.system("copy "+dirorigen+"\\emailrechazados.txt "+dirdestino+"\\emailrechazados.txt")
        except:
            utiles.mensaje(None,"Error al copiar el archivo de rechazos")
            self.Close()
        self.listBox1.Clear()
        self.actualizarLista()

